package com.example.demo.jpa.product.dto;

import javax.naming.Name;

public class FinancialProductDTO {
    private Long id;

    private String name;

    private double expectedAnnualReturnRate;

    private double minimumInvestmentAmount;

    private String riskLevel;

    private String issuer;

    protected FinancialProductDTO(){}

    public FinancialProductDTO(Long id, String name, double expectedAnnualReturnRate, double minimumInvestmentAmount, String riskLevel, String issuer) {
        this.id = id;
        this.name = name;
        this.expectedAnnualReturnRate = expectedAnnualReturnRate;
        this.minimumInvestmentAmount = minimumInvestmentAmount;
        this.riskLevel = riskLevel;
        this.issuer = issuer;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getExpectedAnnualReturnRate() {
        return expectedAnnualReturnRate;
    }

    public void setExpectedAnnualReturnRate(double expectedAnnualReturnRate) {
        this.expectedAnnualReturnRate = expectedAnnualReturnRate;
    }

    public double getMinimumInvestmentAmount() {
        return minimumInvestmentAmount;
    }

    public void setMinimumInvestmentAmount(double minimumInvestmentAmount) {
        this.minimumInvestmentAmount = minimumInvestmentAmount;
    }

    public String getRiskLevel() {
        return riskLevel;
    }

    public void setRiskLevel(String riskLevel) {
        this.riskLevel = riskLevel;
    }

    public String getIssuer() {
        return issuer;
    }

    public void setIssuer(String issuer) {
        this.issuer = issuer;
    }

    @Override
    public String toString() {
        return String.format("FinancialProductDTO[id=%d, Name='%s', expectedAnnualReturnRate='%f',minimumInvestmentAmount='%f',riskLevel='%s',issuer='%s']",
                id, name,expectedAnnualReturnRate, minimumInvestmentAmount,riskLevel,issuer);
    }
}
